/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package proyecto.modelo;

import java.io.Serializable;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 *
 * @author Administrador
 */
@Entity
@Table(name = "cita")
@NamedQueries({@NamedQuery(name = "Cita.findAll", query = "SELECT c FROM Cita c"), @NamedQuery(name = "Cita.findByCodigoCita", query = "SELECT c FROM Cita c WHERE c.citaPK.codigoCita = :codigoCita"), @NamedQuery(name = "Cita.findByPacientecodigoPaciente", query = "SELECT c FROM Cita c WHERE c.citaPK.pacientecodigoPaciente = :pacientecodigoPaciente"), @NamedQuery(name = "Cita.findByHorarioMedicoEspecialidadcodigoEspecialidad", query = "SELECT c FROM Cita c WHERE c.citaPK.horarioMedicoEspecialidadcodigoEspecialidad = :horarioMedicoEspecialidadcodigoEspecialidad"), @NamedQuery(name = "Cita.findByHorarioLocalClinicacodigoLocal", query = "SELECT c FROM Cita c WHERE c.citaPK.horarioLocalClinicacodigoLocal = :horarioLocalClinicacodigoLocal"), @NamedQuery(name = "Cita.findByHorarioMedicocodigoMedico", query = "SELECT c FROM Cita c WHERE c.citaPK.horarioMedicocodigoMedico = :horarioMedicocodigoMedico"), @NamedQuery(name = "Cita.findByHorariocodigoHorario", query = "SELECT c FROM Cita c WHERE c.citaPK.horariocodigoHorario = :horariocodigoHorario"), @NamedQuery(name = "Cita.findByCiaDeSeguroPacientePacientecodigoPaciente", query = "SELECT c FROM Cita c WHERE c.citaPK.ciaDeSeguroPacientePacientecodigoPaciente = :ciaDeSeguroPacientePacientecodigoPaciente"), @NamedQuery(name = "Cita.findByCiaDeSeguroPacienteCiaDeSeguroidCiaDeSeguro", query = "SELECT c FROM Cita c WHERE c.citaPK.ciaDeSeguroPacienteCiaDeSeguroidCiaDeSeguro = :ciaDeSeguroPacienteCiaDeSeguroidCiaDeSeguro")})
public class Cita implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected CitaPK citaPK;

    public Cita() {
    }

    public Cita(CitaPK citaPK) {
        this.citaPK = citaPK;
    }

    public Cita(int codigoCita, int pacientecodigoPaciente, int horarioMedicoEspecialidadcodigoEspecialidad, int horarioLocalClinicacodigoLocal, int horarioMedicocodigoMedico, int horariocodigoHorario, int ciaDeSeguroPacientePacientecodigoPaciente, int ciaDeSeguroPacienteCiaDeSeguroidCiaDeSeguro) {
        this.citaPK = new CitaPK(codigoCita, pacientecodigoPaciente, horarioMedicoEspecialidadcodigoEspecialidad, horarioLocalClinicacodigoLocal, horarioMedicocodigoMedico, horariocodigoHorario, ciaDeSeguroPacientePacientecodigoPaciente, ciaDeSeguroPacienteCiaDeSeguroidCiaDeSeguro);
    }

    public CitaPK getCitaPK() {
        return citaPK;
    }

    public void setCitaPK(CitaPK citaPK) {
        this.citaPK = citaPK;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (citaPK != null ? citaPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Cita)) {
            return false;
        }
        Cita other = (Cita) object;
        if ((this.citaPK == null && other.citaPK != null) || (this.citaPK != null && !this.citaPK.equals(other.citaPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "proyecto.jpa.Cita[citaPK=" + citaPK + "]";
    }

}
